#ifndef DRIVER_H
#define DRIVER_H

#include <QSharedPointer>

class QWaitCondition;
class Port;
class DriverJack;
class Buffer;

class Driver
{
public:
    Driver(void (*setBufferSize)(int), void (*setSampleRate)(int));
    ~Driver();
    bool start();
    bool stop();
    QWaitCondition & getWaitCondition();
    void connectPorts(Port & portOut, Port & portIn);

private:
    QSharedPointer <DriverJack> driverJack_;
    QSharedPointer <Port> inPort_;
    QSharedPointer <Port> outPort_;
};

#endif // DRIVER_H
